package com.cruise.game.service.agent;

import com.cruise.game.model.param.agent.AgentUpdateParam;
import com.cruise.game.model.vo.agent.AgentProfileVO;

import java.util.Map;

/**
 * 代理信息服务接口
 *
 * @author cruise
 * @date 2025-02-28
 */
public interface AgentService {

    /**
     * 获取代理个人信息
     *
     * @param userId 用户ID
     * @return 代理个人信息
     */
    AgentProfileVO getAgentProfile(Long userId);

    /**
     * 更新代理信息
     *
     * @param userId 用户ID
     * @param param  更新参数
     * @return 更新后的代理信息
     */
    AgentProfileVO updateAgentProfile(Long userId, AgentUpdateParam param);

    /**
     * 更新代理状态
     *
     * @param userId 用户ID
     * @param status 状态
     * @return 是否成功
     */
    boolean updateAgentStatus(Long userId, String status);

    /**
     * 获取代理统计信息
     *
     * @param userId 用户ID
     * @return 统计信息
     */
    Map<String, Object> getAgentStatistics(Long userId);
}